package com.graduation.rescuematerial.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.graduation.rescuematerial.pojo.Company;
import com.graduation.rescuematerial.vo.*;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author CaiShuangLian
 * @since 2022-04-11
 */
public interface CompanyService extends IService<Company> {


    /**
     * 根据不同类型返回不同的部门列表（department，warehouse，all）
     * @param type
     * @return
     */
    List<CommonCompanyVo> getAllCompany(String type);

    /**
     * 获取仓库列表，距离由近到远排序
     * @param warehouseInfoVo
     * @return
     */
    RespBean getWarehouse(WarehouseInfoVo warehouseInfoVo);

    /**
     * 系统管理员注册部门
     * @param registerCompanyVo
     * @return
     */
    RespBean registerDepartment(RegisterCompanyVo registerCompanyVo);

    /**
     * 系统管理员查看所有部门
     * @return
     */
    RespBean getSysCompany();

    /**
     * 修改基本信息
     * @param updateCompanyVo
     * @return
     */
    RespBean updateCompany(UpdateCompanyVo updateCompanyVo);

    //获取部门基本信息
    RespBean getCompanyByName(String companyName);

    RespBean getAllCompanyByType(String department);

    RespBean unionQuery(CompanyUnionQueryVo companyUnionQueryVo);

    RespBean companyDropDownBox();

    //部门人员数据统计
    RespBean getUserStatistics();
}
